提及了如何利用 get_level_values 來使工作自動化,我們也利用了 xs 函數來進階了解如何進一步分析樞紐分析的橫切面內容,今天這篇文章所要介紹的是如何利用 XlsxWriter 的 Model 來自訂 Pandas to_excel 的函數操作。
Pandas 輸出 DataFrame 到 Excel 非常容易。而在自定義輸出和使用 Excel 的功能的選擇卻有限。如何使用XlsxWriter 和 Pandas 來簡單製作出複雜的 Excel 工作表?
在使用前我們需要 import xl_rowcol_to_cell 這個 Library,並且讀取資料。
from xlsxwriter.utility import xl_rowcol_to_cell
df = pd.read_excel("df-comp-datav.xlsx")
df.head()
並且,我們可以在上面利用 assign() 方法做基本運算,如以下範例,最後輸出看結果。
df = df.assign(total=(df['Jan'] + df['Feb'] + df['Mar']))
df = df.assign(quota_pct=(1+(df['total'] - df['quota'])/df['quota']))
df.head()
ok 目前看來一切都好,我們再來利用 xlsxwriter 搭配 ExcelWriter 把結果匯出為資料,並且將它儲存為 excel, 這邊把檔案命名為 df-comp-datav-out。
writer_orig = pd.ExcelWriter('df-comp-datav-out.xlsx', engine='xlsxwriter')
df.to_excel(writer_orig, index=False, sheet_name='report')
writer_orig.save()
我們根據上面步驟利用 assign 方法來新增了 total 和 quota_pct ,在新增後你可能會注意到:
因此下一篇我們會介紹自定義化的欄目大小與內容。
今年沒組團,每一筆一字矢志不渝的獻身精神都是為歷史書寫下新頁,有空的話可以走走逛逛我們去年寫的文章。
Jerry 據說是個僅佔人口的 4% 人口的 INFP 理想主義者,總是從最壞的生活中尋找最好的一面,想方設法讓世界更好,內心的火焰和熱情可以光芒四射,畢業後把人生暫停了半年,緩下腳步的同時找了份跨領域工作。偶而散步、愛跟小動物玩耍。曾立過很多志,最近是希望當一個有夢想的人。
謝謝你的時間「訂閱,追蹤和留言」都是陪伴我走過 30 天鐵人賽的精神糧食。